package com.neuedu.action;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.alibaba.fastjson.JSONObject;
import com.neuedu.model.Purchasing;
import com.neuedu.service.PurchasingService;

@Controller
@RequestMapping("/purchasing")
public class PurchasingAction {

	@Autowired
	private PurchasingService purchasingservice;
	
	@RequestMapping(value = "/findAll")
	public void findAll(HttpServletRequest request,HttpServletResponse response)throws Exception{
		//从客户端接收easyui发送过来的分页控制参数
		//page指查询第几页，rows指每页查询多少条---这两个参数由easyui进行计算并发送到服务端
		int page=Integer.parseInt(request.getParameter("page"));
		int rows=Integer.parseInt(request.getParameter("rows"));
		
		
		Map<String, Object> map=new HashMap<String, Object>();
		Map<String, Object> pageMap=new HashMap<String, Object>();
		pageMap.put("startPage", (page-1)*rows);//从第几条数据开始查询
		pageMap.put("endPage", rows);//每页查询多少条记录
		
		//进行分页查询
		List<Purchasing> u=purchasingservice.findAll(pageMap);
		
		//进行查询记录总数，把记录总数发送给easyui，用于分页计算与控制
		int total=purchasingservice.countPurchasing();
		
		//前后端分离的程序结构大部分会使用json数据结构进行数据传递（也有使用xml传递的）
		map.put("rows", u);
		map.put("total", total);
		//使用阿里巴巴的fastjon把java对象转换成json字符串
		String str=JSONObject.toJSONString(map);
		//使用servlet技术，把json数据字符串从服务求发送到浏览器客户端（easyui）,由easyui进行数据显示
		response.getWriter().write(str);
	}
	
	
	@RequestMapping("add")
	public void addpurchasing(Purchasing purchasing,
				HttpServletRequest request,HttpServletResponse response) throws Exception{

		//调用业务逻辑层进行处理
		int res=purchasingservice.addPurchasing(purchasing);
		System.out.println(res);
		Map<String, Object> map=new HashMap<String, Object>();
		if(res>0){
			map.put("success", true);
		}else{
			map.put("success", false);
			map.put("errorMsg", "Save user fail !!!");
		}
		String str=JSONObject.toJSONString(map);
		response.getWriter().write(str);
		
	}
	
	@RequestMapping(value="delete")
	public void deletepurchasing(Integer pno,
			HttpServletRequest request,HttpServletResponse response) throws Exception{
		System.out.println("删除用户");
		int res=purchasingservice.deletePurchasing(pno);
		Map<String, Object> map=new HashMap<String, Object>();
		if(res>0){
			map.put("success", true);
		}else{
			map.put("success", false);
			map.put("errorMsg", "update user fail !!!");
		}
		String str=JSONObject.toJSONString(map);
		response.getWriter().write(str);
	}
	
	
	@RequestMapping(value="update")
	public void updatepurchasing(Purchasing purchasing,
			HttpServletRequest request,HttpServletResponse response) throws Exception{
		int res=purchasingservice.updatePurchasing(purchasing);
		Map<String, Object> map=new HashMap<String, Object>();
		if(res>0){
			map.put("success", true);
		}else{
			map.put("success", false);
			map.put("errorMsg", "update user fail !!!");
		}
		String str=JSONObject.toJSONString(map);
		response.getWriter().write(str);
	}
}
